#!/bin/bash
#############################################################################
# autor : Francisco Madrid De Leon
# NOMBRE: PERFILSTAT
# PROPOSITO: Enviarle un mail al usuario que llame al guion dandole informacion
#		sobre su directorio personal, cuantos subdirectorios tiene
#		enlaces y ejecutables
#
############################################################################

# inicializamos los contadores de directorios, link, ejecutables	
cont_e=0
cont_d=0
cont_x=0
# funcion que se encarga de recibir el parametro del directorio y hacer un test # dentro
function opend( ) {
	for i in `ls -l $m`                     
	do 
		if `test -d  "$m/$i"`
		then 
			if [ $? == 0 ]; 
			then 	
				let cont_d=cont_d+1;
				echo " .... $i--directorio" 

				n="$m/$i"
				opend "$n"
			fi 
		elif `test -x "$m/$i"`&& ! `test -L "$m/$i"`
		then 
			if [ $? == 0 ];
			then 
				let cont_x=cont_x+1;
				echo" ..... $i --ejecutable"
		
			fi
		fi
	 	if `test -L "$m/$i"`&& ! `test -d "$m/$i"`
		then 
			if [ $? == 0 ];
			then 
				let cont_e=cont_e+1;
				echo" ..... $i --enlace"
			fi
		fi	
done
}

# hacemos un loop para recorrer recursivamente el directorio del usuarioa
directorio=$1
for x in `ls -l $directorio`
do 	
	`test -d "$x"` 	                   # si es un directorio
	if [ $? == 0 ];                    # si es 0==0 significa que es verdad y ejecuta lo que
	then 		                   # sigue a continuacion
		echo "$x --directorio--"
		let cont_d=cont_d+1;
		m="$directorio/$x"
		opend $m	        	   # llamamos a la funcion opend para que entre 
        fi                         		# al directorio	
	`test -x "$x"` && ! `test -d "$x"`                    # si es un ejecutable    
	if [ $? == 0 ];                       # se verifica que sea un ejecutable
	then		                   # para que aumente el contador
 		let cont_x=cont_x+1;
		echo " $x ---ejecutable--"
	fi
	
	`test -L "$x"`                     # hacemos test para enlace
	if [ $? == 0 ];                    # si es enlace aumenta el contador
	then 	
		echo "$x ----enlace----"
		let cont_e=cont_e+1;
	fi
done 


echo " hay $cont_d directorios "
echo " hay $cont_e enlaces "
echo " hay $cont_x ejecutables"

echo -e " Hay $cont_d subdirectorios\n Hay $cont_e enlaces\n Hay $cont_x ejecutables\n"|mail $LOGNAME

echo "--------------HOLA $LOGNAME ----------" 
sleep 2
echo "te estoy enviando  un mail con la informacion de tu directorio..." 
sleep 3
echo " ........ en unos segundos revisa tu correo "
exit 1

